package api.json.demo001.config;

import com.alibaba.fastjson.annotation.JSONField;
import apijson.framework.APIJSONSQLConfig;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class DBSQLConfig extends APIJSONSQLConfig {

    @Value("${spring.datasource.db-name}")
    private String dbName;

    @Value("${spring.datasource.url}")
    private String dbUrl;

    @Value("${spring.datasource.username}")
    private String dbUsername;

    @Value("${spring.datasource.password}")
    private String dbPassword;

    @Value("${spring.datasource.db-version}")
    private String dbVersion;

    public DBSQLConfig() {
        DEFAULT_DATABASE = DATABASE_MYSQL;
        DEFAULT_SCHEMA = dbName;
        setPrepared(false);
    }


    /*返回数据库版本*/
    @Override
    public String getDBVersion() {
        return dbVersion;
    }

    /*返回数据库url @JSONField(serialize = false) 表示不在日志打印 账号/密码 等敏感信息*/
    @JSONField(serialize = false)
    @Override
    public String getDBUri() {
        return dbUrl;
    }

    /*返回数据库用户名 @JSONField(serialize = false) 表示不在日志打印 账号/密码 等敏感信息*/
    @JSONField(serialize = false)
    @Override
    public String getDBAccount() {
        return dbUsername;
    }

    /*返回数据库密码 @JSONField(serialize = false) 表示不在日志打印 账号/密码 等敏感信息*/
    @JSONField(serialize = false)
    @Override
    public String getDBPassword() {
        return dbPassword;
    }

}
